% Copyright 2007-2009 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/LICENSE for more details.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%    Math routines

\def\pgf@circ@stripdecimals#1.#2\pgf@nil{#1}

% angle between 0 and 360
\def\pgf@circ@slope#1#2{%
 \pgf@process{#1}%
 \pgf@xa=\pgf@x%
 \pgf@ya=\pgf@y%
 \pgf@process{#2}%
 \advance\pgf@x by-\pgf@xa%
 \advance\pgf@y by-\pgf@ya%
 \ifdim\pgf@x<0.0001pt 
 	\ifdim\pgf@x>-0.0001pt % vertical
		\ifdim\pgf@y<0pt
			\def\pgfmathresult{-90.0}
		\else
			\def\pgfmathresult{+90.0}
		\fi 	
 	\else % oblique with dx < 0
		\pgfmathdivide{\pgf@y}{\pgf@x}
		\pgfmathatan{\pgfmathresult}
		\ifdim\pgf@x<0pt
			\pgfmathsubtract{\pgfmathresult}{+180}
		\fi
 	\fi
 \else % oblique with dx > 0
	\pgfmathdivide{\pgf@y}{\pgf@x}
	\pgfmathatan{\pgfmathresult}
	\ifdim\pgf@x<0pt
		\pgfmathsubtract{\pgfmathresult}{+180}
	\fi
 \fi
 \pgf@x=\pgfmathresult pt
 \ifdim\pgf@x<0pt
	\pgfmathadd{\pgfmathresult}{+360} 
 \fi
 }

\endinput
  	
